#ifndef								__BOOSTROTATINGBUFFER_H__
#	define							__BOOSTROTATINGBUFFER_H__

#	include							"byte.h"
#	include							"IRotatingBuffer.h"
#	include							<boost/circular_buffer.hpp>

class								BoostRotatingBuffer : public IRotatingBuffer
{
public:
	BoostRotatingBuffer();
	virtual ~BoostRotatingBuffer();

private:
	boost::circular_buffer<byte>	_buffer;

public:
	virtual void					init();
	virtual byte					read();
	virtual void					write(byte);
	virtual bool					empty();
	virtual int						size();
	virtual int						capacity();
	virtual byte					operator[](size_t);
};

#endif								// !__BOOSTROTATINGBUFFER_H__
